Have you had monands explained to you by 5 different people in 5 different ways but you still don't get it? No matter how many video tutorials or books I referred, it is still quite hard to think functionally. Worse, I would finally understand what monads are but still hit a road-block when I try implementing them.
How could I truly understand and use FP? First, I read every book on FP I could get my hands on. Second, I attended every discussion and meetup even remotely related to FP. Third, I started writing functional code for my company. That last one was wishful thinking and a fast route to feeling disheartened.
Learning FP should be fun and I was able to do this by building mini projects or games around the concepts I was learning. I played around with all those fancy functors and applicatives I read about. Granted it was slow going and it means I couldn't jump straight into writing production code. However, this method helped prevent the sobbing and pulling-your-hair-out stage of learning FP.
This talk discusses my FP learning adventures as a grad developer with the help of a highly active FP community in REA. It delves into practice projects like the cows and bulls game and toy robots that change with every iteration. Further, it touches upon some quirks and ah-ha! moments that makes me appreciate writing functional code.
This talk was given at Linux.conf.au 2018 (LCA2018) which was held on 22-26 January 2018 in Sydney Australia.
linux.conf.au is a conference about the Linux operating system, and all aspects of the thriving ecosystem of Free and Open Source Software that has grown up around it. Run since 1999, in a different Australian or New Zealand city each year, by a team of local volunteers, LCA invites more than 500 people to learn from the people who shape the future of Open Source. For more information on the conference see https://linux.conf.au/